package com.amumu.drama.common.modules.order.dto.resp;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author sunzhuang
 * @date 2024/7/2 14:18
 * @slogan 天下风云出我辈, 一入代码岁月催
 * @desc todo
 */

@Data
@ApiModel("订单列表响应")
public class OmsOrderQueryResp implements Serializable {

    @ApiModelProperty(value = "订单id")
    private Long orderId;

    @ApiModelProperty("用户ID")
    private Long memberId;

    @ApiModelProperty("订单编号")
    private String orderSn;

    @ApiModelProperty("提交时间")
    private String createTime;

    @ApiModelProperty("用户帐号")
    private String memberUsername;

    @ApiModelProperty("游戏账户信息")
    private String feature;

    @ApiModelProperty("邀请码类型0-用户邀请 1-优惠码邀请")
    private String invitationType;

    @ApiModelProperty("邀请码ID")
    private Long invitationCodeId;

    @ApiModelProperty("邀请码")
    private String invitationCode;

    @ApiModelProperty("邀请折扣")
    private BigDecimal invitationDiscount;

    @ApiModelProperty("邀请优惠金额")
    private BigDecimal invitationDiscountAmount;

    @ApiModelProperty("游戏ID")
    private Long productCategoryId;

    @ApiModelProperty("游戏名称")
    private String productCategoryName;

    @ApiModelProperty("商品名称")
    private String productName;

    @ApiModelProperty("商品数量")
    private String productQuantity;

    @ApiModelProperty("应付金额")
    private BigDecimal payAmount;

    @ApiModelProperty("订单总金额（实付金额）")
    private BigDecimal totalAmount;

    @ApiModelProperty("订单来源：0->未知；1-PC订单；2->app订单")
    private Integer sourceType;

    @ApiModelProperty("订单类型：0->接口充值；1->人工充值;2->接口转人工 ;3->人工转接口")
    private Integer orderType;

    @ApiModelProperty("订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；")
    private Integer status;

    @ApiModelProperty("支付方式：1->微信支付；2->支付宝支付；4->微丸积分")
    private Integer payType;

    @ApiModelProperty("支付供应商：wepalyer ;wexin ;alipay等")
    private String payProvider;

    @ApiModelProperty("第三方支付流水号")
    private String payOrderSn;

    @ApiModelProperty("支付时间")
    private String paymentTime;

    @ApiModelProperty("支付状态：0->待支付；1-已支付；2->支付成功；3->支付失败；4-已退款")
    private Integer payStatus;

    @ApiModelProperty("支付确认时间")
    private String paymentConfirmTime;

    @ApiModelProperty("支付备注")
    private String payRemark;

    @ApiModelProperty("发货供应商（fulu;taobao）")
    private String deliveryProvider;

    @ApiModelProperty("发货状态：0->待发货；1-已发货；2->发货成功；3->发货失败；4-已退货")
    private Integer deliveryStatus;

    @ApiModelProperty("发货流水号")
    private String deliverySn;

    @ApiModelProperty("发货时间")
    private String deliveryTime;

    @ApiModelProperty("确认收货时间")
    private String receiveTime;

    @ApiModelProperty("修改时间")
    private String modifyTime;

    @ApiModelProperty("发货备注")
    private String deliveryRemark;

    @ApiModelProperty("备注")
    private String note;

    @ApiModelProperty("退货原因")
    private String refundReason;

}
